package cn.iocoder.yudao.module.product.controller.admin.emissionsource.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;

/**
* 排放源 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class EmissionSourceBaseVO {

    @Schema(description = "排放源名称", required = true)
    @NotNull(message = "排放源名称不能为空")
    private String name;

    @Schema(description = "类型：能源，耗材，原材料，废水，废气等等", required = true)
    @NotNull(message = "类型：能源，耗材，原材料，废水，废气等等不能为空")
    private String type;

    @Schema(description = "匹配类型：排放因子-检测值", required = true)
    @NotNull(message = "匹配类型：排放因子-检测值不能为空")
    private String matchType;

    @Schema(description = "排放源说明")
    private String note;

    @Schema(description = "因子名", required = true)
    @NotNull(message = "因子名不能为空")
    private String factor;

    @Schema(description = "排放因子值", required = true)
    @NotNull(message = "排放因子值不能为空")
    private Double factorEmissions;

    @Schema(description = "排放单位分子", required = true)
    @NotNull(message = "排放单位分子不能为空")
    private String emissionsUnitN;

    @Schema(description = "排放单位分母", required = true)
    @NotNull(message = "排放单位分母不能为空")
    private String emissionsUnitD;

    @Schema(description = "数据来源")
    private String dataSource;

}
